package com.blankland.dataanalysis.vo;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 作用：
 *   封装返回给前端的数据格式
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ResultVO {
    private Integer code;   //业务状态码
    private String msg;     //服务器的提示信息
    private Object data;    //封装后台的返回值


    /**
     * 成功
     * @return
     */
    public static ResultVO success(){
        return new ResultVO(Constants.CODE_200,"业务执行成功",null);
    }

    /**
     * 成功
     * @param data 数据
     * @return
     */
    public static ResultVO success(Object data){
        return new ResultVO(Constants.CODE_200,"业务执行成功",data );
    }

    /**
     * 成功
     * @param msg 消息体
     * @param data 数据
     * @return
     */
    public static ResultVO success(String msg,Object data){
        return new ResultVO(Constants.CODE_200,msg,data );
    }

    /**
     * 成功
     * @param code 状态码
     * @param msg 消息体
     * @param data
     * @return
     */
    public static ResultVO success(Integer code,String msg,Object data){
        return new ResultVO(code,msg,data);
    }

    /**
     * 系统错误
     * @return
     */
    public static ResultVO fail(){
        return new ResultVO(Constants.CODE_500,"系统错误",null);
    }

    /**
     * 错误
     * @param code 状态码
     * @param msg 消息体
     * @return
     */
    public static ResultVO fail(Integer code,String msg){
        return new ResultVO(code, msg,null);
    }
}
